#ifndef __task_def_H_
#define __task_def_H_


/*
任务间通讯数据指针定义.
任务间通讯数据类型定义
*/
typedef enum DATID_ENUM
{
	POINT_NULL = 0x0000,//格式：POINT_xxx：xxx就是变量不加修改的名称，便于记忆与查找。





	POINT_MAX,//指针类型定义结束
/*************************************************/

	DATID_NULL = 0x1000,
	DATID_EEPROM_TEST1,
	DATID_EEPROM_TEST7,
	DATID_EEPROM_TEST1_4_6_7_READ,
	DATID_EEPROM_TEST1_4_6_7_WRITE,
	DATID_EEPROM_SAVE,

	DATID_STATUS_LED_ON_OFF,
	DATID_STATUS_LED_BLINK,


	DATID_MAX,
/*************************************************/

}E_DATAID;





//每个任务都应该在以下几种状态中的一种
//每个任务复位后都将创建并先进入TASK_STAT_FREE,
//然后根据具体情况运行到TASK_STAT_STBY或者TASK_STAT_RUN,
//ACC关后，所有任务都需要做好处理准备休眠，处理完把任务状态改为TASK_STAT_SLEEP
typedef enum TASK_STATE_E
{
	TASK_STAT_NOT_EXIST = 0U, //不存在
	TASK_STAT_FREE,           //自由空闲状态
	TASK_STAT_POWER_ON,       //上电或起动任务
	TASK_STAT_INITIAL,        //初始化中
	TASK_STAT_RUN,            //运行状态
	TASK_STAT_UNINITIAL,      //非初始化中
	TASK_STAT_POWER_OFF,      //关电或启动任务休闲
	TASK_STAT_STBY,           //待机状态
	TASK_STAT_SLEEP,          //休眠状态电源管理查询所有任务进入休眠后停止MCU进入低功耗
}task_stat_e;



/**************************************************************
*				所有任务ID定义
***************************************************************/
typedef enum TASKID_E
{
	TASKID_SYS = 0U,
	TASKID_MOTOR,
	TASKID_KEY,
	TASKID_SWITCH,
	TASKID_BEEP,
	TASKID_EEPROM,
	TASKID_CAN,
	TASKID_DISPLAY,
	TASKID_W25Q,
    TASKID_PROTOCOL,



	TASKID_MAX,
}E_TASKID;




#endif

